<?php

//Clase para el manejo de las acciones
class acciones {

    // Función que se encarga de cargar la grilla
    // Retornardo los datos en formato JSON
    // PARAMETROS: $conexion: Recibe el objeto conexión
    function data($conexion, $start, $limit) {
        //Realizo la consulta para obtener todos los registros
        $sqlTot = "select * from socios ORDER BY licencia, club";

        //Ejecuto la consulta
        $resultsTot = mysql_query($sqlTot, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$resultsTot) {
            $mensaje = 'Consulta no válida: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Realizo la consulta
        $sql = "select * from socios ORDER BY licencia, club ASC LIMIT " . $start . "," . $limit;

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Consulta no válida: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Cuento la cantidad total de registros de la tabla
        $nTot = mysql_num_rows($resultsTot);

        //Creo un array que contendra los valores de la grilla
        $data = array();

        //Recorro la consulta
        while ($row = mysql_fetch_object($results)) {

            //Remplazo el 1 por el si y el 0 por no (Matricula Federacion)
            if ($row->pago == 1) {
                $row->pago = 'si';
            } else {
                $row->pago = 'no';
            }

            //Remplazo el 1 por el si y el 0 por no (Matricula Club)
            if ($row->pagoclub == 1) {
                $row->pagoclub = 'si';
            } else {
                $row->pagoclub = 'no';
            }

            //Cargo el dato en el array
            $data [] = $row;
        }

        //Libero memoria
        mysql_free_result($results);

        //Paso el array
        return '{"totalCount": "' . $nTot . '", "Socio":' . json_encode($data) . '}';
    }

    // Inserto valores en la tabla categoría
    // PARAMETROS: $conexion: Recibe el objeto conexión
    // 	           $obj: Recibe el objeto funciones
    function insertCateg($conexion, $obj) {

        //Genero el query para buscar el id más alto
        $sql = "SELECT max(id) as id from socios";

        //Ejecuto el query
        $results = mysql_query($sql);

        //Creo el array
        $arr = mysql_fetch_assoc($results);

        //Tomo el valor
        $id = $arr['id'];

        //Incremento en uno el valor
        $id++;

        //Libero memoria
        mysql_free_result($results);

        //Tomo los valores del formulario
        $apellido = $_POST['apellido'];
        $direc = $_POST['direc'];
        $localidad = $_POST['localidad'];
        $tel = $_POST['tel'];
        $pago1 = strtolower($_POST['pago1']);
        $licencia = $_POST['licencia'];
        $dni = $_POST['dni'];
        $club = $_POST['club'];
        $pago2 = strtolower($_POST['pago2']);

        //Quito caracteres Especiales
        $apellido = $obj->sacarAcentos($apellido);
        $direc = $obj->sacarAcentos($direc);
        $localidad = $obj->sacarAcentos($localidad);
        $tel = $obj->sacarAcentos($tel);
        $pago1 = $obj->sacarAcentos($pago1);
        $dni = $obj->sacarAcentos($dni);
        $club = $obj->sacarAcentos($club);
        $pago2 = $obj->sacarAcentos($pago2);

        //Verifico si encontro el apellido o el socio
        $sqlVerif = "SELECT * FROM socios WHERE apellido = '" . $apellido . "' OR licencia = '" . $licencia . "'";

        //Ejecuto la consulta
        $resultsV = mysql_query($sqlVerif, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$resultsV) {
            $mensaje = 'Error al verificar si existe el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Verifico si encontro el apellido o el socio
        if (mysql_num_rows($resultsV) > 0) {
            die("Ya se encuentra ingresado en la base el socio: " . $apellido . " o la licencia : " . $licencia);
        }

        // Verifico si pago o no 
        // convirtiendo a true o false (Matrícula federación)
        if ($pago1 == 'si') {
            $pago1 = true;
        } else {
            $pago1 = 0;
        }

        // Verifico si pago o no 
        // convirtiendo a true o false (Matrícula club)
        if ($pago2 == 'si') {
            $pago2 = true;
        } else {
            $pago2 = 0;
        }

        //Realizo la consulta
        $sqlIns .= "INSERT INTO socios (id, apellido, direc, localidad, tel, pago, licencia, dni, club, pagoclub) ";
        $sqlIns .= " values('" . $id . "','" . $apellido . "', '" . $direc . "', '" . $localidad . "', '" . $tel . "', " . $pago1 . ", '" . $licencia . "', '" . $dni . "', ";
        $sqlIns .= " '" . $club . "', " . $pago2 . ")";

        //Ejecuto la consulta
        $results = mysql_query($sqlIns, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al insertar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    // Modifica valores en la tabla categoria
    // PARAMETROS: $conexion: Recibe el objeto conexión
    // 			   $obj: Recibe el objeto funciones
    function updateCateg($conexion, $obj) {

        //Tomo los valores del formulario
        $id = $_POST['id'];
        $apellido = $_POST['apellido'];
        $direc = $_POST['direc'];
        $localidad = $_POST['localidad'];
        $tel = $_POST['tel'];
        $pago1 = strtolower($_POST['pago1']);
        $licencia = $_POST['licencia'];
        $dni = $_POST['dni'];
        $club = $_POST['club'];
        $pago2 = strtolower($_POST['pago2']);

        //Quito caracteres Especiales
        $apellido = $obj->sacarAcentos($apellido);
        $direc = $obj->sacarAcentos($direc);
        $localidad = $obj->sacarAcentos($localidad);
        $tel = $obj->sacarAcentos($tel);
        $pago1 = $obj->sacarAcentos($pago1);
        $dni = $obj->sacarAcentos($dni);
        $club = $obj->sacarAcentos($club);
        $pago2 = $obj->sacarAcentos($pago2);


        // Verifico si pago o no 
        // convirtiendo a true o false (Matrícula federación)
        if ($pago1 == 'si') {
            $pago1 = true;
        } else {
            $pago1 = 0;
        }

        // Verifico si pago o no 
        // convirtiendo a true o false (Matrícula club)
        if ($pago2 == 'si') {
            $pago2 = true;
        } else {
            $pago2 = 0;
        }

        //Creo la consulta
        $sql .= "UPDATE socios SET apellido = '" . $apellido . "', ";
        $sql .= " direc = '" . $direc . "', localidad = '" . $localidad . "' , tel = '" . $tel . "',";
        $sql .= " pago = '" . $pago1 . "', licencia = '" . $licencia . "', dni = '" . $dni . "', club = '" . $club . "',";
        $sql .= " pagoclub = '" . $pago2 . "'";
        $sql .= "WHERE id = '" . $id . "'";

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al modificar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    // Elimina un registro de la tabla delete
    // PARAMETROS: $conexion: Recibe el objeto conexión
    // 			   $id: Recibe el id a elimnar
    function deleteCateg($conexion, $id) {

        //Creo la consulta
        $sql = "DELETE FROM socios where id = '" . $id . "'";
        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al eliminar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    //función que se encarga de cargar el combo 
    //con los datos de los clubes
    // PARAMETROS: $conexion: Recibe el objeto conexión
    function cargacomboCLub($conexion) {
        //Creo la consulta
        $sql = "SELECT * FROM club";

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al eliminar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Creo un array que contendra los valores de la grilla
        $data = array();

        //Recorro la consulta
        while ($row = mysql_fetch_object($results)) {

            //Cargo el dato en el array
            $data [] = $row;
        }

        //Libero memoria
        mysql_free_result($results);

        //Paso el array
        return json_encode($data);
    }

    //Cancela todas matriculas de los socios
    //PARAMETROS: conexion : COnexion a mysql
    function cancelarMatricula($conexion) {
        $sql = "update socios set pago = 0";

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al eliminar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    //Cancela todas matriculas del club de los socios
    //PARAMETROS: conexion : COnexion a mysql
    function cancelarclub($conexion) {
        $sql = "update socios set pagoclub = 0";

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Error al eliminar el registro: ' . mysql_error() . "\n";
            die($mensaje);
        }
    }

    //Busca un registro en la bd
    public function buscarSocio($conexion, $socio) {
        //Realizo la consulta
        $sql = "select * from socios where apellido LIKE '%" . $socio . "%' ORDER BY id ASC";

        //Ejecuto la consulta
        $results = mysql_query($sql, $conexion);

        //Verifico si se realizo la consulta bien
        if (!$results) {
            $mensaje = 'Consulta no valida: ' . mysql_error() . "\n";
            die($mensaje);
        }

        //Creo un array que contendra los valores de la grilla
        $data = array();

        //Recorro la consulta
        while ($row = mysql_fetch_object($results)) {

            //Remplazo el 1 por el si y el 0 por no (Matricula Federacion)
            if ($row->pago == 1) {
                $row->pago = 'si';
            } else {
                $row->pago = 'no';
            }

            //Remplazo el 1 por el si y el 0 por no (Matricula Club)
            if ($row->pagoclub == 1) {
                $row->pagoclub = 'si';
            } else {
                $row->pagoclub = 'no';
            }

            //Cargo el dato en el array
            $data [] = $row;
        }

        //Libero memoria
        mysql_free_result($results);

        //Paso el array
        return json_encode($data);
    }

    //Elimina todos los registros de la BD
    public function deleteAll($conexion) {
        //Realizo el filtro
        $sql = "DELETE FROM socios";

        //Tratamiento
        try {
            //Ejecuto la consulta
            $results = mysql_query($sql, $conexion);

            //Verifico si se realizo la consulta bien
            if (!$results) {
                $mensaje = 'Consulta no valida: ' . mysql_error() . "\n";
                die($mensaje);
            }
            //En caso de error
        } catch (Exception $e) {
            //Informo el error
            die("Error al ejecutar la consulta " . mysql_error() . "\n");
        }
    }

}
?>

<?php

header('Content-Type: text/html; charset=UTF-8');

/* Agregamos las funciones */
include "funciones.php";

//Creo el objeto funciones
$obj = new funciones;
//Conecto a MySql
$conexion = $obj->conexion();

//Instancio la clase
$acc = new acciones();

//Verifico si tengo que cargar el combo
if (isset($_GET['myaction'])) {
    $accion1 = $_GET['myaction'];
    if ($accion1 == 'club') {
        //Cargo el combo
        $datos = $acc->cargacomboCLub($conexion);
        //Cargo los datos
        echo $datos;
    }
    //Retorno para que no siga
    return;
}

//Verifico si esta definida el parámetro action
if (isset($_POST['action'])) {

    //Tomo el valor
    $accion = $_POST['action'];

    //Verifico la accion
    switch ($accion) {

        //Si la acción es cancel1
        case 'cancel1':
            $acc->cancelarMatricula($conexion);
            //Redirecciono
            $js = "<script> window.location = 'http://www.fejipba.com.ar/php/AbmSocios.php';  </script>";
            die($js);
            break;

        //Si la acción es cancel2
        case 'cancel2':
            $acc->cancelarclub($conexion);
            //Redirecciono
            $js = "<script> window.location = 'http://www.fejipba.com.ar/php/AbmSocios.php';  </script>";
            die($js);
            break;

        //Si la acción es insert
        case 'insert':
            $acc->insertCateg($conexion, $obj);
            //Redirecciono
            $js = "<script> window.location = 'http://www.fejipba.com.ar/php/AbmSocios.php';  </script>";
            die($js);
            break;

        //Si la acción es Update
        case 'update':
            $acc->updateCateg($conexion, $obj);
            //Redirecciono
            $js = "<script> window.location = 'http://www.fejipba.com.ar/php/AbmSocios.php';  </script>";
            die($js);
            break;

        //Si la acción es delete
        case 'delete':
            //Tomo el valor del id
            $id = $_POST['id'];

            $acc->deleteCateg($conexion, $id);
            //Redirecciono
            $js = "<script> window.location = 'http://www.fejipba.com.ar/php/AbmSocios.php';  </script>";
            die($js);
            break;

        //Busca en la base de datos un socio
        case 'buscar':
            $datos = $acc->buscarSocio($conexion, $_POST['persona']);
            //Redirecciono
            echo $datos;
            break;

        //Verifica si tiene permisos para borrar todos los registros
        case 'permisos':
            $json = $obj->permisos($conexion);
            //echo "Si";
            echo $json;
            break;

        //Elimina todos los registros de la tabla socios
        case 'deletetodo':
            $acc->deleteAll($conexion);
            break;
    }
} {
    if (isset($_GET['start']) && isset($_GET['limit'])) {
        //Ejecuto el método y obtendo el resultado JSON
        $datos = $acc->data($conexion, $_GET['start'], $_GET['limit']);
        //Caego en la grilla
        echo $datos;
    }
}

//Cierro la conexión
$obj->cerrarConn($conexion);
?>